Cross Referencer

Introduction
The Cross Referencer provides symbol cross reference information. All kinds of cross references, including call graphing, can be visualized.
Basically, the Cross Referencer offers three kinds of symbol cross references:

- Function body cross referencing -- Displays all symbols that a symbol refers to or displays all symbols that are referred to by another symbol. Call graphing is a special case of function body cross referencing in which the graph is filtered to show only functions and method calls. Another example of function body cross referencing is a query where all symbols are displayed that access a variable in write mode. Questions like: "Which symbols are referenced by this function?" or "Who calls this method?" or "Who accesses this variable in write mode" can be answered.
- Component analyzing -- Displays all types that are components of other types, or displays all classes or structures that have a type as a component. An example of a special case component query is to show all types that have a primitive C data type as a component. Questions like: "What are the components of this class displayed to level 5?" or "Who has an instance variable that points to this type?" or "What classes have integer instance variables?" can be answered.
- Interface cross referencing -- Displays all types that are part of a type's interface, i.e. that are either a return or a parameter type, or displays all types that use another type in their interface. Questions like: "Who returns a character pointer?" or "Who uses an instance of the object in its parameter list?" or "What are the return and parameter types of this class?" can be answered.

The Cross Referencer can be opened from the Tools menu or by using the four query commands in the Info menu.